package pe.com.hermes.hermetic.negocio.service;

import pe.com.hermes.hermetic.beans.ConfBean;

import pe.com.hermes.hermetic.beans.CorporacionBean;
import pe.com.hermes.hermetic.beans.User;

import java.sql.SQLException;

import java.util.Collection;
import java.util.List;
import java.util.Map;

import pe.com.hermes.hermetic.beans.EmpleadoBean;
import pe.com.hermes.hermetic.beans.ResponsableBean;
import pe.com.hermes.hermetic.beans.TiposBean;
import pe.com.hermes.hermetic.beans.UsersNivConfBean;
import pe.com.hermes.hermetic.beans.UsuCodBancoBean;
import pe.com.hermes.hermetic.exception.NiveAutoNotFoundException;
import pe.com.hermes.hermetic.exception.TooManyNiveAutoByUsuaException;
import pe.com.hermes.unidadesnegocio.comercial.entities.TarjetaEntity;
//import pe.com.hermes.unidadesnegocio.comercial.entities.TarjetaEntity;

public interface TablService {
    public int inseCateConf(String desCate);
    public List getListConfiParamByCateAndSubCate(String codCliente,String codSucursal,String codCate,String codSubCate);
    public int inseConfParamClie(ConfBean confBean);
    public int modiConfParamClie(ConfBean confBean);
    public List getListTipoPuntBillRecont();
    public List getListTipoCSBillRecont();
    public List getListTipoRepoBillRecont();
    public List getListTipoOrigBillRecont();
    public List getListBillRecCnta(List listBillRecoDetallado);
    public Map getMapBillRecCntaSummary(List listBillRecoDetallado);
    public List getListBillRecoByPunt(List listBillRecoDetallado);
    public List getListBillRecoByDenominacion(List listBillRecoDetallado);
    public List getListBillRecoDetallado(List listBillRecoDetallado);
    public Map getMapBillRecDetaSummary(List listBillRecoDetallado);
    public int getTiempoTrancurrido(String date);
    public User getUserByName(String username);
    public String getSucuFromPunt(String codPunt);
    public List getClieByUser(String usuWeb) throws SQLException;
    public Collection getRolesByPerf(String codPerf,String codModu);
    public String getPerfByUsernameAndCodRazoSoci(String usuWeb,int codRazoSoci);
    public String getUrlModu(String codModu);
    public boolean isValidSucuByCntaAndTipUnidMone(int codClie, int codCnta, int tipUnidMone, int codSucuHtb);
    public List getListClieAlertBove();
    public List getListUsuaClie(int codClie);
    public int inseConfMailClie(String usuWeb,String codAlert,String usuWebModi,String nomComp);
    public int modiConfMailClie(String usuWeb,String codAlert,String usuWebModi,String nomComp);
    public int delConfMailClie(String usuWeb,String codAlert);
    public List getListConfMailClie(int codClie, String codAlert);    
    public List<TiposBean> getListPrioAtm(int codClie,int codSucuHtb, int codPunt,String fecAten) throws Exception;

    public void sendMail(String remitente,Collection<String> destinatarios,String replyTo, String asunto,String textMessage);
    public List<TarjetaEntity> getListTjtasRetenidas(int codClie, String codSucuHtb,String fecEmisDsde,String fecEmisHsta);
    public EmpleadoBean getEmplByPuesto(String codPuesto);
    public List<String> getListClieByParam(String codCate,String codSubCate);
    public List<ConfBean> getListNiveles(int codCli, String codPro) throws Exception;
    public List getListLogConfNiv(String codClie, String tipDocu, String numPedi, String codSeri);
    public List getFechaPublicacion(String opcion, String codClie, String listCodSucu);
    public List getListEstadosGeneral(String codEstado);
    public String getDesEstado(String codEstado);

    public String getRazSocial(String usuWeb,int codRazoSoci);

    public CorporacionBean getCorporacionUsu(String usuWeb,int codRazoSoci);

    public UsuCodBancoBean getUsuCodBanco(int codRazoSoci, String codSucu);

    public UsuCodBancoBean getUsuCodBancoCorp(int codCorp, String codSucu);

    public int getTipClie(String codClie);
    public List getTiposDinamico(int codGrupTipo, int indTipo, String campo);
    public String getSeriDocu(String tipDocu, String codSucuHtb);

}
